The present invention generally relates to routing and coding in the field of communication systems and, more particularly, to routing and coding of signals which may be transmitted over various different types of communication systems, e.g., packet-switched, circuit-switched, wireline, wireless, Internet, etc., enroute between two parties.
The growth of commercial communication systems and, in particular, the explosive growth of cellular radiotelephone systems, have compelled system designers to search for ways to increase system capacity without reducing communication quality beyond consumer tolerance thresholds. One technique to achieve these objectives involved changing from systems wherein analog modulation was used to impress data onto a carrier wave, to systems wherein digital modulation was used to impress the data on carrier waves.
Another recent trend in telecommunications is the advent of the Internet. Of particular interest in this context is the capability to carry telephone calls over the Internet using packet-switching based on the Internet Protocol (IP). This type of service is sometimes referred to as “voice over IP”(VoIP). For example, as shown in FIG. 1, a user A can communicate with a user B using Internet and VoIP techniques as communication interface between their respective public switched telephone networks (PSTNs).
Given the growing usage of this type of wireline-based service, it would be useful to also be able to use VoIP techniques in conjunction with wireless communication systems. However, such a combination raises several issues in terms of call routing, overhead signalling and coding. Consider the following examples.
The equal access function (planned for implementation within the GSM networks) allows a subscriber to choose a default carrier from among several interexchange carriers (IXC) for national long distance and international communication “legs”, i.e., transmissions between home and visiting public land mobile networks (HPLMNs and VPLMNs). A call to a mobile, e.g., GSM, user is typically first routed to the home network (which routing is referred to herein as the “homing leg”) and then further to the visited network (which routing is referred to herein as the “roaming leg”). In a mobile-to-mobile call, equal access can be used from the calling subscriber on the homing leg (i.e., from VPLMNA to HPLMNB in FIG. 2) and the called subscriber roaming leg (i.e., from HPLMNB to VPLMNB in FIG. 2) This means that the calling subscriber can select the IXC for the homing leg (which carrier may also be an Internet telephony service provider (ITSP) as well on a pre-selection and/or on a call-by-call basis by using a specific prefix in front of the dialed destination number. The IXC to be used for the roaming leg is indicated by the Primary Interexchange Carrier (PIC) identity, as stored in the user's profile in HLR.
Permitting the uncoordinated introduction of VoIP on the roaming leg can introduce unpredictable speech quality (e.g., associated with multiple transcodings) and long call delays. For example, in the case that the mobile terminating call is coming from the circuit switched domain, then the gateway mobile switching center (GMSC) will eventually route the call towards the nearest voice gateway in its domain if the primary inter-exchange carrier (PIC) identity indicates a VoIP IXG for the roaming leg. If, on the other hand, the incoming call comes from the IP domain (e.g., using an ITSP's VoIP network), then the call will unnecessarily undergo multiple conversions between the IP and circuit switched domain. The multiple transcodings between the different codecs used on the IP and circuit switched call legs will degrade the speech quality and add significant delays on the speech path. Th is problem will be more evident upon review of FIG. 2 which illustrates a call between two mobile users which is routed over two VoIP legs.
Therein, an initial coding (e.g., compression of voice information, also referred to as source or speech coding) is applied to the information at the mobile station 20 prior to transmission over the air interface. The particular coding algorithm is defined by the applicable air interface standard, in this example that defined in the GSM 06.10 standard and referred to herein simply as the “GSM codec”. Next, the received information is transcoded in the BSC/TRC from the GSM codec to a G-711 codec (e.g., an ordinary PCM codec as defined by G.711) for transmission within nodes of the VPLMNa. Since, in this example, a VoIP bypass 22 is used to route the call on the homing leg, another transcoding is performed in the VoIP gateway 24. For example, the information can be transcoded from G.711 to a low bit-rate code (e.g, that specified in G.723.1 or G.729) for transmission over an IP network 22. Once the information reaches the recipient user's HPLMNb, it is again transcoded at gateway 26, i.e., from the low bit-rate code back into PCM code for routing within the HPLMN nodes. Routing information is obtained from the home location register (HLR) 28 in order to route the call to the MSC 34 which is currently supporting mobile communications with the recipient. Then, the information is again transcoded at gateway 30 and transmitted over the VoIP roaming leg network 32. At the VPLMNb, the information is once again transcoded into PCM for routing therein. Finally, the information is again transcoded into the GSM codec mode and transmitted over the air interface to mobile unit 36.
It can be seen that, in this example wherein VoIP is used for both the homing and roaming leg, a total of six transcodings can take place. Each conversion between coding standards reduces speech quality, and each encoding to a low bitrate codec adds about 20-30 ms delay (i.e., which is primarily attributable to waiting for enough speech data to generate a codec frame). Further transcodings can occur if, for example, other services such as call forwarding or conference calling are invoked. This means that the received speech quality becomes unpredictable, since it becomes dependent on the particular traffic case and on the various codecs (e.g., different standards may be used in different segments such as GSM over the first air interface and DAMPS over the second) applied to segments in the call.
One way to avoid this difficulty is to use the PCM coding on the homing and roaming IP legs. This reduces the number of transcodings to two from the six transcodings in the previous example. More specifically, the only transcodings needed to implement this solution would be performed upon receiving information from the originator over the air interface (TR1) and prior to transmitting information to the recipient over the air interface (TR2). The IP links 40 and 42 would convey information using the same encoding as the PLMNs, as shown in FIG. 3. However, this solution provides none of the transmission capacity savings which are available if the low bit rate coding is employed over the IP legs. For example, using codec G723.1 over the IP legs would provide a transmission capacity savings factor of 10 relative to PCM encoding. Moreover, to enable the common usage of G.711 coding over all legs in practice, all parties involved would have to agree to only use this type of coding.
Accordingly, it would be desirable to provide enhanced techniques for routing and coding of calls which use various systems to route information between two parties.